package com.yonyou.pmclouds.billview.rmiimpl.buzi;

import com.yonyou.pmclouds.basecom.consts.BillTypeConst;
import com.yonyou.pmclouds.basecom.entity.PageObject;
import com.yonyou.pmclouds.basecom.entity.SuperVO;
import com.yonyou.pmclouds.basecom.exception.BusinessException;
import com.yonyou.pmclouds.billview.entity.BillViewQueryVO;
import com.yonyou.pmclouds.billview.rmitf.IBillViewBuziService;
import com.yonyou.pmclouds.billview.util.BillViewUtil;
import com.yonyou.pmclouds.workstartreport.entity.WorkStartVO;
import com.yonyou.pmclouds.workstartreport.rmiitf.WorkStartQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class WorkStartBuziServiceImpl implements IBillViewBuziService {
    //@Reference(version = ApplicationConsts.APPLICATION_VERSION)
    @Autowired
    private WorkStartQuery workStartQuery;

    @Override
    public String getBillType() {
        return BillTypeConst.WORKSTART_BILLTYPE;
    }

    @Override
    public PageObject<Object> queryBillList(BillViewQueryVO billViewQueryVO) throws BusinessException {

        PageObject<Object> workStartVOs = workStartQuery.queryByCondition(billViewQueryVO.getPkProject(),billViewQueryVO.getCreators(),
                billViewQueryVO.getStartTime(),billViewQueryVO.getEndTime(),billViewQueryVO.getBillStatus(),
                billViewQueryVO.getPageStart(),billViewQueryVO.getPageSize());

        BillViewUtil.setBillStatus(workStartVOs.getObjects());

        return workStartVOs;
    }

    @Override
    public SuperVO queryBillDetail(String pkBill) throws BusinessException {
        WorkStartVO report = workStartQuery.getReport(pkBill);

        return report;
    }
}
